"""
    @Author  ：思念 
    @File    ：8.动作链.py
    @Date    ：2025/3/26 15:31 
"""
import time
from selenium import webdriver
from selenium.webdriver.common.by import By


class LoginEmail:
    def __init__(self):
        self.driver = webdriver.Chrome()

    def open_url(self, login_url):
        self.driver.get(login_url)

    """
           登录函数，用于模拟用户登录操作。

           参数:
           - username: 用户名
           - password: 密码

           此函数通过XPath定位到登录页面的元素，并模拟用户输入用户名和密码，然后点击登录按钮。
    """
    def login(self, username, password):
        # 定位到登录iframe并切换到该frame
        iframe = self.driver.find_element(By.XPATH, '//div[@id="loginDiv"]/iframe')
        self.driver.switch_to.frame(iframe)

        # 定位用户名和密码输入框
        username_input = self.driver.find_element(By.XPATH, '//input[@name="email"]')
        password_input = self.driver.find_element(By.XPATH, '//input[@name="password"]')

        # 输入用户名和密码
        username_input.send_keys(username)
        password_input.send_keys(password)

        # 定位并点击登录按钮
        self.driver.find_element(By.XPATH, '//a[@id="dologin"]').click()

        # 等待2秒以确保登录操作完成，然后关闭浏览器窗口
        time.sleep(2)
        self.driver.quit()


if __name__ == '__main__':
    login_url = "https://mail.163.com/"
    login_email = LoginEmail()
    login_email.open_url(login_url)
    login_email.login("15284761567", "123456")
